//
//  main.c
//  cprimer plus  Seven-to-seventeen
//
//  Created by huanghui on 16/8/24.
//  Copyright © 2016年 huanghui. All rights reserved.
//

//笔记

//使用%s打印时,它要遇见'\0'才会停止.所以在打印没有'\0'的字符数组时,会出现不符合的结果同strlen函数计算字符数组

//如果一个变量出现在一个函数的多个参数中,或同一个表达式中时,不要将增量和减量运算符用到它上面
//每一个表达式都有一个值

//类型转换提升通常是无害的,但降级可能导致真正的问题

//强制类型装换也只存与该表达式

//循环判断所有非零都为真

//不能在函数内定义另一个函数

#include <stdio.h>

#include <ctype.h>

//一次最好只调试测试一题,以避免变量名重复

#define TAX1 45 //300美元需交税

#define TAX2 75 //450美元需交税

#define SINGLE 2677.5 //单身用户收入17850$要交的税$

#define AHOUSEHODLE 3585 //户主型用户收入23900$要交的税$

#define MWATO  4462  //已婚共有型用户收入29750$要交的税$

#define MA   2231.25 //已婚独有型用户收入14875$要交的税$

//Artichoke,Beet,Carrot

#define ARTICHOKE 1.25 //朝鲜蓟每磅价格$

#define BEET 0.65 //甜菜每磅价格$

#define CARROt 0.89 //胡萝卜每磅价格$

#define FIVE  3.5 //五磅及以下运输和装卸费用$

#define TWENTY  10 //五磅以上二十磅及以下运输和装卸费用$

#define MTTWENTY  8 //超过二十磅基础运输和装卸费用$
int main(int argc, const char * argv[]) {
    
    //第七章第一题：编写一个程序。该程序读取输入直到遇到＃字符，然后报告读取的空格数目，读取的换行符数目及读取的其它字符数目
    //
    //    char ch;
    //
    //    int  space,wrap,Othercharacter;
    //
    //    space = 0;
    //
    //    wrap = 0;
    //
    //    Othercharacter = 0;
    //
    //    printf("请一直输入字符：");
    //
    //    while ((ch = getchar()) != '#')
    //
    //    {
    //        switch (ch)
    //        {
    //
    //            case '\t':space++;
    //
    //                break;
    //
    //            case '\n':wrap++;
    //
    //                break;
    //
    //            default:Othercharacter++;
    //                break;
    //        }
    //
    //
    //    }
    //
    //    printf("读入的space字符数目为%d,读入的wrap字符数目为%d,读入的Othercharacter字符数目为%d,",space,wrap,Othercharacter);
    
    //第七章第二题：编写一个程序。该程序读取输入直到遇见＃字符。使程序打印每个输入的字符以及它的十进制ascll码。每行打印8个字符／编码队。
    
//    char ch;
//    
//    int Character_number = 0;
//    
//    printf("请读入字符：");
//    
//    while ((ch = getchar()) != '#')
//    {
//        Character_number++;
//        
//        printf("%c＝%d,",ch,ch);
//        
//        if (Character_number % 8 == 0)
//        {
//            
//            printf("\n");
//        }
//  　}
    
    //第七章第三题: 编写一个程序,改程序读取整数,直到输入零.输入终止后,程序应该报告输入的偶数(不包括零)总个数,偶数的平均值,奇数总个数和奇数的平均值
    
//        int  nb,Evennb = 0,Odd = 0,OddAverage = 0,EvAverage = 0;
//    
//    printf("请输入整数:");
//    
//    while (scanf("%d",&nb) == 1)
//    
//    {
//        if (nb == 0)
//        {
//            break;
//        
//        }
//            
//        else  if (nb % 2 == 0)  //如果该数为偶数
//        {
//            Evennb++;     //偶数个数加一
//            
//            EvAverage = EvAverage + nb;  //用来计算偶数总值的EvAverage加上该偶数
//            
//        }
//        else              //否则
//        {
//            Odd++;        //奇数个数加一
//            
//            OddAverage = OddAverage +nb;     //用来计算奇数总值的OddAverage加上该奇数
//
//            
//        }
//
//    }
//    
//    printf("输入的奇数个数为%d,偶数个数为%d,奇数的平均数为%d,偶数的平均数为%d\n",Odd,Evennb,OddAverage/Odd,EvAverage/Evennb);
//
    
    //第七章第四题:利用if else 语句编写程序读取输入直到#.用一个感叹号代替每一个句号,用每两个感叹号代替每个感叹号,最后报告做了多少次替代.
    
//    char ch[1000];
//    
//    int  nb = 0;
//    
//    printf("请输入数据:");
//    
//    for (int i = 0; (ch[i] = getchar()) != '#'; i++)
//    
//    {
//        if (ch[i] == '.')
//        
//        {
//            ch[i] = '!';
//            
//            nb++;
//        }
//        
//        else  if (ch[i] == '!')
//        {
//            ch [i] = '!';
//            
//            i++;
//            
//            ch[i]  = '!';
//            
//            nb++;
//        }
//
//    }
//    
//    printf("总共做了%d次替代",nb);
//
    
    //第五题:用switch重做练习3
    
//    int  nb,i,Evennb = 0,Odd = 0,OddAverage = 0,EvAverage = 0;
//    
//    printf("请输入整数:");
//    
//    while (scanf("%d",&nb) != 0)
//    
//    {
//        if (nb == 0)
//        {
//            break;
//        }
//        i = nb % 2;
//        switch (i)
//        {
//                
//                
//            case 0:
//            {
//                Evennb++;     //偶数个数加一
//                
//                EvAverage = EvAverage + nb;  //用来计算偶数总值的EvAverage加上该偶数
//            }
//                break;
//                
//            default:
//            {
//                Odd++;        //奇数个数加一
//                
//                OddAverage = OddAverage +nb;     //用来计算奇数总值的OddAverage加上该奇数
//
//            }
//                break;
//        }
//        
//    }
//    printf("输入的奇数个数为%d,偶数个数为%d,奇数的平均数为%d,偶数的平均数为%d\n",Odd,Evennb,OddAverage/Odd,EvAverage/Evennb);
//    
    
    //第七章第六题:编写一个程序输入,直到#,并报告序列ei出现的次数.
    
//    char ch[10000];
//    
//    int ei = 0;
//    
//    printf("请输入数据:");
//    
//    for (int i = 0; (ch[i]=getchar()) != '#'; i++)
//   
//    {
//        if (ch[i-1] == 'e' && ch[i] == 'i')
//        {
//            ei++;
//        }
//    }
//    
//    printf("ei出现的次数为%d",ei);
    
    //第七章第七题:编写程序,要求输入一周的工作小时数,然后打印工资总额,税金以及净工资.作如下假设:a.基本工资为10美元一小时b.加班超过40个小时等于1.5倍的时间c.前300美元为0.15,下一个150美元为0.20.余下为0.25.
    
//    double hour,Totalwages,tax,Netwages;
//    
//    printf("请输入本周工作小时数:");
//    
//    scanf("%lf",&hour);
//    
//    if (hour > 40)
//    {
//        hour = 40 + (hour-40) * 1.5;
//        
//    }
//    
//    Totalwages = hour * 10;
//    
//    if (Totalwages <= 300)
//    
//    {
//        tax = Totalwages * 0.15;
//    }
//    
//    else if(Totalwages <= 450)
//    
//    {
//        tax = (Totalwages - 300) * 0.2 + TAX1;
//        
//    }
//    
//    else
//    
//    {
//        tax = (Totalwages - 450) * 0.25 + TAX2;
//    
//    }
//    
//    Netwages = Totalwages - tax;
//    
//    printf("工资总额为%lf,税金为%lf,净工资为%lf\n",Totalwages,tax,Netwages);
//
    
    //第七章第八题:
    
//    double hour,Totalwages,tax,Netwages,wages;
//    
//    int choice;
//    
//    printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\n");
//    
//    printf("Enter the number corresponding to the desired pay rate or action:\n\n");
//    
//    printf("1)$8.75/hr        2)$9.33/hr\n\n");
//    
//    printf("3)$10.00/hr       4)$11.20/hr\n\n");
//    
//    printf("5)quit\n");
//    
//    
//    printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\n");
//    
//    printf("请输入你的选择:");
//    
//    while (scanf("%d",&choice) != 0) {
//        
//        if (choice ==5) {
//            break;
//        }
//       
//        switch (choice)
//        {
//                
//            case 1:
//            {
//                wages = 8.75;
//                
//                printf("请输入本周工作小时数:");
//                
//                    scanf("%lf",&hour);
//                
//                    if (hour > 40)
//                    {
//                        hour = 40 + (hour-40) * 1.5;
//                
//                    }
//                
//                    Totalwages = hour * wages;
//                
//                    if (Totalwages <= 300)
//                
//                    {
//                        tax = Totalwages * 0.15;
//                    }
//                
//                    else if(Totalwages <= 450)
//                
//                    {
//                        tax = (Totalwages - 300) * 0.2 + TAX1;
//                        
//                    }
//                    
//                    else
//                    
//                    {
//                        tax = (Totalwages - 450) * 0.25 + TAX2;
//                    
//                    }
//                    
//                    Netwages = Totalwages - tax;
//                    
//                    printf("工资总额为%lf,税金为%lf,净工资为%lf\n",Totalwages,tax,Netwages);
//            
//            };
//                
//                break;
//            case 2:
//            {
//               wages = 9.33;
//               
//                printf("请输入本周工作小时数:");
//                
//                scanf("%lf",&hour);
//                
//                if (hour > 40)
//                {
//                    hour = 40 + (hour-40) * 1.5;
//                    
//                }
//                
//                Totalwages = hour * wages;
//                
//                if (Totalwages <= 300)
//                    
//                {
//                    tax = Totalwages * 0.15;
//                }
//                
//                else if(Totalwages <= 450)
//                    
//                {
//                    tax = (Totalwages - 300) * 0.2 + TAX1;
//                    
//                }
//                
//                else
//                    
//                {
//                    tax = (Totalwages - 450) * 0.25 + TAX2;
//                    
//                }
//                
//                Netwages = Totalwages - tax;
//                
//                printf("工资总额为%lf,税金为%lf,净工资为%lf\n",Totalwages,tax,Netwages);
//                
//            }
//                
//                break;
//            case 3:
//            {
//                wages = 10.00;
//                
//                printf("请输入本周工作小时数:");
//                
//                scanf("%lf",&hour);
//                
//                if (hour > 40)
//                {
//                    hour = 40 + (hour-40) * 1.5;
//                    
//                }
//                
//                Totalwages = hour * wages;
//                
//                if (Totalwages <= 300)
//                    
//                {
//                    tax = Totalwages * 0.15;
//                }
//                
//                else if(Totalwages <= 450)
//                    
//                {
//                    tax = (Totalwages - 300) * 0.2 + TAX1;
//                    
//                }
//                
//                else
//                    
//                {
//                    tax = (Totalwages - 450) * 0.25 + TAX2;
//                    
//                }
//                
//                Netwages = Totalwages - tax;
//                
//                printf("工资总额为%lf,税金为%lf,净工资为%lf\n",Totalwages,tax,Netwages);
//            }
//                break;
//                
//            case 4:
//            {
//                wages = 11.20;
//            
//                printf("请输入本周工作小时数:");
//                
//                scanf("%lf",&hour);
//                
//                if (hour > 40)
//                {
//                    hour = 40 + (hour-40) * 1.5;
//                    
//                }
//                
//                Totalwages = hour * wages;
//                
//                if (Totalwages <= 300)
//                    
//                {
//                    tax = Totalwages * 0.15;
//                }
//                
//                else if(Totalwages <= 450)
//                    
//                {
//                    tax = (Totalwages - 300) * 0.2 + TAX1;
//                    
//                }
//                
//                else
//                    
//                {
//                    tax = (Totalwages - 450) * 0.25 + TAX2;
//                    
//                }
//                
//                Netwages = Totalwages - tax;
//                
//                printf("工资总额为%lf,税金为%lf,净工资为%lf\n",Totalwages,tax,Netwages);
//            };
//                
//                break;
//                
//            default:printf("请输入1到5对应选项\n");
//                break;
//        }
//        
//        
//        printf("Enter the number corresponding to the desired pay rate or action:\n\n");
//        
//        printf("1)$8.75/hr        2)$9.33/hr\n\n");
//        
//        printf("3)$10.00/hr       4)$11.20/hr\n\n");
//        
//        printf("5)quit\n");
//        
//        
//        printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\n");
//
//        printf("请输入你的选择:");
//
//    }
//    
//    printf("成功退出,欢迎下次使用\n");
//
    //第八章第九题:
    
//    int itg;
//    
//    printf("请输入一个整数:");
//    
//    scanf("%d",&itg);
//    
//    printf("小于或等于该数的素数有:");
//    
//    for (; itg >1; itg--)
//    {
//        for (int i =2; i <= itg; i++)
//        {
//            
//            
//            if (itg % i == 0)
//            {
//                break;
//            } else if(i == itg-1 )
//                
//            {
//                printf("%d ",itg);
//            }
//            
//        }
//
//        
//    }
    
    //第七章第十题
    
//    double income,tax;
//    
//    int choice;
//    
//    printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\n");
//    
//        printf("Enter the number corresponding to the desired pay rate or action:\n\n");
//    
//        printf("1)单身           2)户主\n");
//    
//        printf("3)已婚共有       4)已婚私有\n");
//    
//        printf("5)quit\n");
//    
//    
//     printf("请输入选项选择用户类型：");
//    
//    while (scanf("%d",&choice) != 0)
//    
//    {
//        if (choice == 5)
//        {
//            break;
//        }
//        
//        switch (choice) {
//            case 1:
//            {
//                printf("可怜的单身用户，请输入你的收入$：");
//                
//                scanf("%lf",&income);
//                
//                if (income <= 17850)
//                
//                {
//                    tax = income * 0.15;
//                }
//                else
//                {
//                    tax = AHOUSEHODLE + (income - AHOUSEHODLE) * 0.28;
//                }
//                
//                printf("尊敬的用户，您需缴税%lf$\n",tax);
//            }
//                break;
//            case 2:
//            {
//                printf("尊敬的户主用户，请输入你的收入$：");
//                
//                scanf("%lf",&income);
//                
//                if (income <= 23900)
//                    
//                {
//                    tax = income * 0.15;
//                }
//                else
//                {
//                    tax = SINGLE + (income - SINGLE) * 0.28;
//                }
//                
//                printf("尊敬的用户，您需缴税%lf$\n",tax);
//            }
//                break;
//                
//                case 3:
//            {
//                printf("尊敬的已婚用户，请输入您们夫妻的共有收入$：");
//                
//                scanf("%lf",&income);
//                
//                if (income <= 29750)
//                    
//                {
//                    tax = income * 0.15;
//                }
//                else
//                {
//                    tax = MWATO + (income - MWATO) * 0.28;
//                }
//                
//                printf("尊敬的用户，您需缴税%lf$\n",tax);
//            }
//                break;
//                
//                case 4:
//                
//            {
//                printf("尊敬的已婚用户，请输入您们夫妻的共有收入$：");
//                
//                scanf("%lf",&income);
//                
//                if (income <= 14875)
//                    
//                {
//                    tax = income * 0.15;
//                }
//                else
//                {
//                    tax = MA + (income - MA) * 0.28;
//                }
//                
//                printf("尊敬的用户，您需缴税%lf$\n",tax);
//            }
//                break;
//
//            default:printf("请输入正确选项：");
//                break;
//        }
//        
//        printf("请继续输入选项选择用户类型：");
//    }
//    
//    printf("成功退出,欢迎下次使用\n");
    
    //第七章第十一题:
    
//    char choice;
//    
//    double ArtichokeCT = 0,BeetCT = 0,CarrotCT = 0,ArtichokePD = 0,BeetPD = 0,CarrotPD = 0,PD = 0,CT = 0, DT = 0,ArtichokeDt = 0,BeetDt = 0,CarrotDt = 0;
//    
//    printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
//    
//    printf("欢迎来到'小花朵'蔬菜订购中心,以下是本店的蔬菜种类");
//    
//            printf("a)甜菜1.25$/磅           b)朝鲜蓟0.65$/磅\n");
//    
//            printf("c)胡萝卜0.89$/磅     \n");
//    
//            printf("q)quit\n");
//    
//    printf("在本店消费超过100美元享受％5的打折优惠,对五磅以下的订单收取2.50$的运输和装卸费用，超过五磅不足20磅的订单收取10$；20磅以上的订单，在8$的基础上每磅增加0.1$\n\n");
//    
//    printf("请输入选项选择订购蔬菜类型:");
//    
//    while ((choice = getchar()))
//    
//    {
//        if (choice == 'q')
//        {
//            break;
//        }
//        else if(choice == '\n')
//        {
//            continue;
//        }
//        
//        
//        switch (choice) {
//                
//            case '\n':break;
//                
//                case 'a':
//            
//            {
//                printf("请输入订购的甜菜磅数：");
//            
//                scanf("%lf",&BeetPD);
//                
//                if (BeetPD <= 5)
//                {
//                    BeetCT = FIVE + BeetPD * ARTICHOKE;
//                    
//                    if (BeetCT >=100)
//                    {
//                        BeetDt = BeetCT * 0.05;
//                        
//                        BeetCT = BeetCT - BeetDt;
//                    }
//                    
//                    
//                }
//                else  if(BeetPD <= 20)
//                {
//                    BeetCT = TWENTY + BeetPD * ARTICHOKE;
//                    
//                    if (BeetCT >=100)
//                    {
//                        BeetDt = BeetCT * 0.05;
//                        
//                        BeetCT = BeetCT - BeetDt;
//                    }
//
//                }
//                else
//                {
//                    BeetCT = MTTWENTY + BeetPD * ARTICHOKE + BeetPD * 0.1;
//                    
//                    if (BeetCT >=100)
//                    {
//                        BeetDt = BeetCT * 0.05;
//                        
//                        BeetCT = BeetCT - BeetDt;
//                    }
//
//                }
//                
//                
//            }
//                break;
//                
//            case 'b':
//                
//            {
//                printf("请输入订购的朝鲜蓟磅数：");
//                
//                scanf("%lf",&ArtichokePD);
//                
//                if (ArtichokePD <= 5)
//                {
//                    ArtichokeCT = FIVE + ArtichokePD * ARTICHOKE;
//                    
//                    if (ArtichokeCT >= 100)
//                    {
//                        ArtichokeDt = ArtichokeCT * 0.05;
//                        
//                        ArtichokeCT = ArtichokeCT - ArtichokeDt;
//                    }
//                    
//                    
//                }
//                else  if(ArtichokePD <= 20)
//                {
//                    ArtichokeCT = TWENTY + ArtichokePD * ARTICHOKE;
//                    
//                    if (ArtichokeCT >= 100)
//                    {
//                        ArtichokeDt = ArtichokeCT * 0.05;
//                        
//                        ArtichokeCT = ArtichokeCT - ArtichokeDt;
//
//                    }
//                    
//                                    }
//                else
//                {
//                    ArtichokeCT = MTTWENTY + ArtichokePD * ARTICHOKE +ArtichokePD * 0.1;
//                    
//                    if (ArtichokeCT >= 100)
//                    {
//                        ArtichokeDt = ArtichokeCT * 0.05;
//                        
//                        ArtichokeCT = ArtichokeCT - ArtichokeDt;
//                    }
//                    
//                    
//                }
//                
//                
//            }
//                break;
//
//            case 'c':
//                
//            {
//                printf("请输入订购的胡萝卜磅数：");
//                
//                scanf("%lf",&CarrotPD);
//                
//                if (CarrotPD <= 5)
//                {
//                    CarrotCT = FIVE + CarrotPD * ARTICHOKE;
//                    
//                    if (CarrotCT >= 100)
//                    {
//                        CarrotDt = CarrotCT * 0.05;
//                        
//                        CarrotCT = CarrotCT - CarrotDt;
//                    }
//                }
//                else  if(CarrotPD <= 20)
//                {
//                    CarrotCT = TWENTY + CarrotPD * ARTICHOKE;
//                    
//                    if (CarrotCT >= 100)
//                    {
//                        CarrotDt = CarrotCT * 0.05;
//                        
//                        CarrotCT = CarrotCT - CarrotDt;
//                    }
//
//                }
//                else
//                {
//                    CarrotCT = MTTWENTY + CarrotPD * ARTICHOKE + CarrotPD * 0.1;
//                    
//                    if (CarrotCT >= 100)
//                    {
//                        CarrotDt = CarrotCT * 0.05;
//                        
//                        CarrotCT = CarrotCT - CarrotDt;
//                    }
//
//                }
//                
//                
//            }
//                break;
//                
//   
//            default:
//                
//                printf("请输入正确选项：\n");
//                break;
//        }
//               printf("请再次输入选项选择订购蔬菜类型:");
//    }
//    
//    PD = CarrotPD + ArtichokePD + BeetPD;
//    
//    DT = CarrotDt + ArtichokeDt + BeetDt;
//    
//    CT = CarrotCT + ArtichokeCT + BeetCT;
//    
//    
//    printf("退出订购成功\n");
//    
//    printf("您本次订购了朝鲜蓟%lf磅,花费%lf$,折扣%lf$.\n胡萝卜%lf磅,花费%lf$,折扣%lf$.\n甜菜%lf磅,花费%lf$,折扣%lf$.\n总磅数为%lf,总折扣为%lf$,总费用为%lf$\n",ArtichokePD,ArtichokeCT,ArtichokeDt,CarrotPD,CarrotCT,CarrotDt,BeetPD,BeetCT,BeetDt,PD,DT,CT);
//

    //第八章第一题
    
//    int ch,number = 0;
//    
//    while ((ch = getchar()) != EOF)
//    {
//        number++;
//    }
//    
//    
//    printf("到文件结尾总共有%d个字符\n",number);
    
    //第八章第二题
    
//    char ch ,number = 0;
//    
//    while ((ch = getchar()) != EOF)
//       
//    {
//        number++;
//    
//        
//        switch (ch)
//        {
//            case 10:
//            {
//                printf("\n=%d ",ch);
//                
//                if (number % 10 == 0)
//                {
//                    printf("\n");
//                }
//               
//            }
//                break;
//                
//            case 1:
//                
//            {
//                printf("^A=%d ",ch); //其它非打印字符类似
//                
//                if (number % 10 == 0)
//                {
//                    printf("\n");
//                }
//                
//            }
//
//                break;
//                
//            default:
//            {
//                printf("%c=%d ",ch,ch);
//                
//                if (number % 10 == 0)
//                {
//                    printf("\n");
//                }
//
//            
//            }
//                break;
//        }
//    
//        
//    }
    
    //第八章第三题
    
//    char ch;
//    
//    int i,Cnumber = 0,Anumber = 0;
//    
//    while ((ch = getchar()) != EOF)
//    
//    {
//        if ((i = isupper(ch)) != 0)
//        {
//            Cnumber++;
//        }
//        else if((i = islower(ch)) != 0)
//        {
//            Anumber++;
//        
//        }
//        
//    }
//    
//    printf("输入的大写字符数为%d,输入的小写字符数为%d\n",Cnumber,Anumber);
//    
    
    //第八章第四题
    
//    char ch;
//    
//        int i,Cnumber = 0,Wnumber = 1;
//    
//        while ((ch = getchar()) != EOF)
//    
//        {
//            if ((i = isalpha(ch)) != 0)
//            {
//                Cnumber++;
//            }
//            else if(ch == 32 ||ch ==',')
//            {
//                Wnumber++;
//            
//            }
//            
//        }
//
//    printf("每个单词的平均字符数为%d\n",Cnumber/Wnumber);
//
    
    //第八章第五题
//    
//    int guess = 50,x = 0,d = 100;
//    
//    char ch;
//    
//    printf("Pick an integer from 1 to 100. i will try to guess ");
//    
//    printf("it.\nRespond with a y if my guess is right and with");
//    
//    printf("\nan n if it is wrong.\n");
//    
//    printf("Uh...is your number %d?\n",guess);
//    
//    printf("请输入'x'(小)或'd'（大）判断大小：");
//    
//    while ((ch = getchar()) != 'o')
//    {
//        if (ch == '\n')
//        {
//            continue;
//        }
//        
//        switch (ch)
//        {
//            
//            case 'x':
//            {
//                printf("该数小于正确值\n");
//                
//                x = guess;
//                
//                guess = (guess + d)/2;
//                
//                
//            }
//                break;
//            case 'd':
//            {
//                printf("该数大于正确值\n");
//                
//                d = guess;
//                
//                guess = (guess + x)/2;
//                
//                
//            }
//                break;
//            default:printf("输入判断语句不正确\n");
//                break;
//        }
//        printf("Uh...is your number %d?\n",guess);
//        
//        printf("请输入'x'(小)或'd'（大）判断大小：");
//            
//    }
//    
//    printf("正确\n");
//    
    
   //第八章第六题  见下函数
    
   //第八章第七题
    
//        double hour,Totalwages,tax,Netwages,wages;
//    
//        int choice;
//    
//        printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\n");
//    
//        printf("Enter the number corresponding to the desired pay rate or action:\n\n");
//    
//        printf("a)$8.75/hr        b)$9.33/hr\n\n");
//    
//        printf("c)$10.00/hr       d)$11.20/hr\n\n");
//    
//        printf("q)quit\n");
//    
//    
//        printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\n");
//    
//        printf("请输入你的选择:");
//    
//        while ((choice =getchar()) != 'q') {
//    
//            if (choice == '\n') {
//                continue;
//            }
//    
//            switch (choice)
//            {
//    
//                case 'a':
//                {
//                    wages = 8.75;
//    
//                    printf("请输入本周工作小时数:");
//    
//                        scanf("%lf",&hour);
//    
//                        if (hour > 40)
//                        {
//                            hour = 40 + (hour-40) * 1.5;
//    
//                        }
//    
//                        Totalwages = hour * wages;
//    
//                        if (Totalwages <= 300)
//    
//                        {
//                            tax = Totalwages * 0.15;
//                        }
//    
//                        else if(Totalwages <= 450)
//    
//                        {
//                            tax = (Totalwages - 300) * 0.2 + TAX1;
//    
//                        }
//    
//                        else
//    
//                        {
//                            tax = (Totalwages - 450) * 0.25 + TAX2;
//    
//                        }
//    
//                        Netwages = Totalwages - tax;
//    
//                        printf("工资总额为%lf,税金为%lf,净工资为%lf\n",Totalwages,tax,Netwages);
//    
//                };
//    
//                    break;
//                case 'b':
//                {
//                   wages = 9.33;
//    
//                    printf("请输入本周工作小时数:");
//    
//                    scanf("%lf",&hour);
//    
//                    if (hour > 40)
//                    {
//                        hour = 40 + (hour-40) * 1.5;
//    
//                    }
//    
//                    Totalwages = hour * wages;
//    
//                    if (Totalwages <= 300)
//    
//                    {
//                        tax = Totalwages * 0.15;
//                    }
//    
//                    else if(Totalwages <= 450)
//    
//                    {
//                        tax = (Totalwages - 300) * 0.2 + TAX1;
//    
//                    }
//    
//                    else
//    
//                    {
//                        tax = (Totalwages - 450) * 0.25 + TAX2;
//    
//                    }
//    
//                    Netwages = Totalwages - tax;
//    
//                    printf("工资总额为%lf,税金为%lf,净工资为%lf\n",Totalwages,tax,Netwages);
//    
//                }
//    
//                    break;
//                case 'c':
//                {
//                    wages = 10.00;
//    
//                    printf("请输入本周工作小时数:");
//    
//                    scanf("%lf",&hour);
//    
//                    if (hour > 40)
//                    {
//                        hour = 40 + (hour-40) * 1.5;
//    
//                    }
//    
//                    Totalwages = hour * wages;
//    
//                    if (Totalwages <= 300)
//    
//                    {
//                        tax = Totalwages * 0.15;
//                    }
//    
//                    else if(Totalwages <= 450)
//    
//                    {
//                        tax = (Totalwages - 300) * 0.2 + TAX1;
//    
//                    }
//    
//                    else
//    
//                    {
//                        tax = (Totalwages - 450) * 0.25 + TAX2;
//    
//                    }
//    
//                    Netwages = Totalwages - tax;
//    
//                    printf("工资总额为%lf,税金为%lf,净工资为%lf\n",Totalwages,tax,Netwages);
//                }
//                    break;
//    
//                case 'd':
//                {
//                    wages = 11.20;
//    
//                    printf("请输入本周工作小时数:");
//    
//                    scanf("%lf",&hour);
//    
//                    if (hour > 40)
//                    {
//                        hour = 40 + (hour-40) * 1.5;
//    
//                    }
//    
//                    Totalwages = hour * wages;
//    
//                    if (Totalwages <= 300)
//    
//                    {
//                        tax = Totalwages * 0.15;
//                    }
//    
//                    else if(Totalwages <= 450)
//    
//                    {
//                        tax = (Totalwages - 300) * 0.2 + TAX1;
//    
//                    }
//    
//                    else
//    
//                    {
//                        tax = (Totalwages - 450) * 0.25 + TAX2;
//    
//                    }
//    
//                    Netwages = Totalwages - tax;
//                    
//                    printf("工资总额为%lf,税金为%lf,净工资为%lf\n",Totalwages,tax,Netwages);
//                };
//                    
//                    break;
//                    
//                default:printf("请输入'a','b','c','d','q'对应选项\n");
//                    break;
//            }
//            
//            
//            printf("Enter the number corresponding to the desired pay rate or action:\n\n");
//            
//            printf("1)$8.75/hr        2)$9.33/hr\n\n");
//            
//            printf("3)$10.00/hr       4)$11.20/hr\n\n");
//            
//            printf("5)quit\n");
//            
//            
//            printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\n");
//    
//            printf("请输入你的选择:");
//    
//        }
//        
//        printf("成功退出,欢迎下次使用\n");
    

   //第八章第八题
    
    int ch;
    
    double number,number2;
    
   
    printf("Enter the operation or your choice:\n");
    
    printf("a.add           s.subtract\n");
    
    printf("m.multiply      d.divide\n");
    
    printf("q.quit\n:");
    
    while ((ch = getchar()) != 'q')
    {
        if (ch == '\n')
        {
            continue;
        }
        
        switch (ch) {
            case 'a':
            {
                printf("Enter first number:");
                
                while (scanf("%lf",&number) == 0)
                {
                    printf("请输入数字：");
                }
                
                printf("Enter second number:");
                
                while (scanf("%lf",&number2) == 0)
                {
                    printf("请输入数字：");
                }
                
                printf("%lf + %lf = %lf\n请再次输入选择：",number,number2,number+number2);

            }
                break;
            case 'b':
            {
                printf("Enter first number:");
                
                while (scanf("%lf",&number) == 0)
                {
                    printf("请输入数字：");
                }
                
                printf("Enter second number:");
                
                while (scanf("%lf",&number2) == 0)
                {
                    printf("请输入数字：");
                }
                
                printf("%lf - %lf = %lf\n请再次输入选择：",number,number2,number-number2);
                
            }
                break;
            case 'c':
            {
                printf("Enter first number:");
                
                while (scanf("%lf",&number) == 0)
                {
                    printf("请输入数字：");
                }
                
                printf("Enter second number:");
                
                while (scanf("%lf",&number2) == 0)
                {
                    printf("请输入数字：");
                }
                
                printf("%lf * %lf = %lf\n请再次输入选择：",number,number2,number*number2);
                
            }

                break;
            case 'd':
           
            {
                printf("Enter first number:");
                
                while (scanf("%lf",&number) == 0)
                {
                    printf("请输入数字：");
                }
                
                printf("Enter second number:");
                
                while (scanf("%lf",&number2) == 0)
                {
                    printf("请输入数字：");
                }
                
                printf("%lf / %lf = %lf\n请再次输入选择：",number,number2,number/number2);
                
            }
                break;
                
            default:printf("请输入正确选项：");
                break;
        }
        
        
    }
    
    
    return 0;
}

//第八章第六题

char get_first (void)
{
    int ch;
    
    ch = getchar();
    
    while (ch == '\n'||ch == '\t')
        
        continue;
    
    return ch;
    
}
